@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} HE |||||DOS DOSDOS SYS }}}} }CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8}155 ? "}":POKE 752,1156 POSITION 2,5:? " FOR START LEVEL PRESS 1-5":OPEN #1,4,0,"K:"157 GET #1,STARTLVL:IF (STARTLVL<49) OR,} (STARTLVL>53) THEN 157158 STARTLVL=STARTLVL-48:CLOSE #1PRESS 1-5":OPEN #1,4,0,"K:"157 GET #1,STARTLVL:IF (STARTLVL<49) OR:325 Q=PEEK(559):POKE 559,0330 GOSUB 4000:GOSUB 5000:GOSUB 6000:GOSUB 7000:GOSUB 8000:GOSUB 2000:GOSUB 3000:POKE 559,Q:POKE 5.}4286,192K(559):POKE 559,0330 GOSUB 4000:GOSUB 5000:GOSUB 6000:GOSUB 7000:GOSUB 8000:GOSUB 2000:GOSUB 3000:POKE 559,Q:POKE 5 9000 ? "MINICOMP OBJECT CODE SAVER":? 9010 TRAP 9020:DIM FN$(20)9020 TRAP 9020:? "ENTER START ADDRESS";:INPUT STAD9030 TRA 0}P 9030:? "ENTER END ADDRESS";:INPUT ENAD9040 IF STAD>=ENAD THEN ? "BAD ADDRESS RANGE":? :GOTO 90209050 TRAP 9040:? "ENTER 1}RUN ADDRESS";:INPUT RAD9060 ? "OUTPUT FILENAME";:INPUT FN$9070 OPEN #1,8,0,FN$:PUT #1,255:PUT #1,2559080 STH=INT(STAD/256) 2}:STL=STAD-STH*256:PUT #1,STL:PUT #1,STH9090 ENH=INT(ENAD/256):ENL=ENAD-ENH*256:PUT #1,ENL:PUT #1,ENH9100 RAH=INT(RAD/256):R 3}AL=RAD-RAH*2569110 FOR X=STAD TO ENAD:PUT #1,PEEK(X):NEXT X9120 PUT #1,224:PUT #1,2:PUT #1,225:PUT #1,2:PUT #1,RAL:PUT #1,R 4}AH:CLOSE #1:END 10 FOR X=STAD TO ENAD:PUT #1,PEEK(X):NEXT X9120 PUT #1,224:PUT #1,2:PUT #1,225:PUT #1,2:PUT #1,RAL:PUT #1,R 330 DATA 104,169,15,205,120,2,208,5,169,1,141,244,6,169,15,205,121,2,208,5,169,1,141,245,6,169350 DATA 169,80,145,203,76,92,6}6,177,203,170,232,138,145,203,169,14,205,121,2,208,34,169,1,205,245,6370 DATA 138,145,207,173,248,6,205,132,2,208,6,169,1,147}1,246,6,96,173,249,6,205,133,2,208,6,169121,2,208,34,169,1,205,245,6370 DATA 138,145,207,173,248,6,205,132,2,208,6,169,1,14)X BUFLINSUCKSUADDd ******************9}********n * KEYPAD CREATE *x * by Jonathan Buckheit * **************************@ +:}AR@3(Reading DATA@;A,#(Reading Line: #6-A0-@@(\ A 5;}-@@%&@$+"A@,9"A6-%X67B:,%@,.>:,\ --F:A,%AV$F:A,A%<}" "6-%@% Ap A F:A,@AUB:,AA0(}DATA lines O.K=}.U( Insert a DOS disk, press . F:B2y,@A@7 A7@@ D:KEYPAD.COM>}kAP@6-C:,0AR@:>:,,GASP:'AV,YAV@8kAW@<6-?:C:hhh?}LV,<@,<F:AQ,!A'A+(File Written.(AR+";"(Incorrect DATA at line &8@}AR;,4(Line  is missing!1AR46/(Disk WRITE error.,AR/@*A} ML DATA FOLLOWS *Jaa255,255,0,64,251,64,165,12,141,125,64,165,13,141,126,64,173,231,2,133,12,173,232,2,133,2996T``13,1B}73,231,2,24,105,48,141,147,64,173,232,2,105,0,141,152,64,173,231,2,24,105,153,141,5642^bb209,64,141,214,64,141,220,64,173,C}232,2,105,0,141,210,64,141,215,64,141,221,64,173,231,2,8938hbb24,105,139,141,227,64,173,232,2,105,0,141,228,64,173,231,2,2D}4,105,146,141,3,65,173,232,11878raa2,105,0,141,4,65,173,231,2,133,212,173,232,2,133,213,160,0,185,124,64,145,212,200,192,1E}4981|dd154,208,246,240,21,32,124,64,173,31,208,201,3,208,11,173,125,64,133,12,173,126,64,133,13,17921]]96,120,169,172,F}141,8,2,169,64,141,9,2,88,173,231,2,24,105,154,141,231,2,144,3,238,20550__232,2,96,152,72,173,9,210,205,242,2,208,5,173,2G}41,2,208,62,173,9,210,201,159,208,10,23814aa173,255,2,73,255,141,255,2,176,45,201,152,208,11,173,21,65,73,255,141,21,65,1H}73,9,210,26969__172,21,65,240,10,160,7,217,7,65,240,27,136,16,248,141,252,2,141,242,2,169,3,141,241,29934]]2,169,0,13I}3,77,169,48,141,252,64,21,65,43,2,104,168,104,64,185,14,65,208,227,37,1,32297??5,0,11,13,8,50,31,30,26,24,29,27,0,226,2,2J}27,2,0,64,33072 D:KEYPAD.BASd ******************$ dX;--------------------nX; NUMERIC KEYPADxX;by Jonathan BuckheitX;--------------------X;X;--------------L}-X;Program EquatesX;---------------X; CH1 ATRACTM CH CTRL4 CTRL1KEYDELKBCM}ODE SSFLAGSRTIMR+VKEYBD" DOSINI ,INITAD6 ZPAGE@ MEMLOJCONSOLTX;^!X;N}----------------------------h!X;Coldstart (Relocate) Routiner!X;----------------------------|X;@;;Relocated...X;O}COLDQDOSINI;;Save addressPKEYPAD;;of the lastQDOSINI;;application soPKEYPAD;;we may boot itQMEMP}LO;;Point the RESETPDOSINI;;vector toQMEMLO;;our routinePDOSINIQMEMLO;;Relocate...,O>KEYIRQKEYQ}PAD PR1 QMEMLOO>& PR20QMEMLO;;Relocate...:,DO>TOGGLEKEYPADN PR3X PR4b PR5l QR}MEMLOvO> PR3 PR4 PR5QMEMLO;;Relocate...,O>OLDKEYKEYPAD PR6 QMEMLOO> S}PR6QMEMLO;;Relocate...,O>NEWKEYKEYPAD PR7  QMEMLOO>  PR7*QMEMLO;;Move contents4PZT}PAGE;;of MEMLO to>QMEMLO;;Page ZeroH PZPAGER%>\MOVEQKEYPAD8;;Move Keypadf P@ZPAGE7p3z)>TOGGLEKEYPU}ADHMOVE;;We have more!FNOIRQ;;Init KeypadX;X;--------------------X;RESET Button RoutineX;-------------V}-------X;!KEYPAD KEYPAD;;self modifiedQCONSOL;;Console KeysR>;;OPTION hit?HNOIRQ;;No!QKEYPAD;;ReseW}t thePDOSINI;;RESET vectorQKEYPADPDOSINI :;;Return$X;.NOIRQ=;;Disable IRQ's8R1Q>4KEYIRQ;;Insert X}newBPVKEYBD;;kbd routineLR2Q>5KEYIRQVPVKEYBD`.;;Enable IRQ'sjQMEMLO;;Move MEMLO pntrt,~O>TOGGLEKEYPAY}D PMEMLO DRETURN #MEMLORETURN:;;ExitX;!X;----------------------------!X;New Keyboard Routine FollowZ}s!X;----------------------------X;KEYIRQC;;Save Y Register5QKBCODE;;Get keyRCH1;;Same as last? HPROCES[}S;;No. QKEYDEL HEXIT(X;2PROCESSQKBCODE;;Get key<R>CTRL1;;Is it CONTROL-1FHNOPAUSE;;No!PQSSFLAG;;Toggle p\}auseZN>d PSSFLAGn EEXITxX;NOPAUSER>CTRL4;;CONTROL-4?HNOTOGGLE;;No!X;R3QTOGGLE;;Keypad flagN>;]};Toggle itX;R4PTOGGLEQKBCODE;;Restore keycodeX; NOTOGGLER5%TOGGLE;;Keypad on?FNONUM;;No!%>;;C^}hange 7 keysX;LOOPR6ROLDKEY8;;Keypad key?"FSETNUMKEY;;Yes!,1;;Do next!6ILOOP;;We have more!@X;JNONUM_}PCH;;Key pressedTPCH1;;Last pressed^Q>;;Debounce rateh PKEYDELrQ>;;Poke attract| PATRACTX;EXITQ>0;;Au`}to-delay rate PSRTIMR7;;Restore Y?7;;Restore Acc 9;;ReturnX; SETNUMKEYR7QNEWKEY8;;Replacement HNOa}NUMX;X;-------------X;Table of KeysX;-------------X;&OLDKEY %==0 = = =:NEWKEY 2==D b}===NX;XX;-------------bX;Toggle SwitchlX;-------------vX; TOGGLE X;X;---------X;Auto-BootX;c}---------X; INITAD COLDX;X;--------------X;End of ProgramX;--------------X;;X;--------------i9:ADDADDRADADLOMEAMOUNHIMECOUNLHOFFSEINSTALe} d ASSEMBLER RENUMBER UTILITYnBY ANGELO GIAf}MBRAx##SINCE THE RENUMBER UTILITY IS""NOT FULLY RELOCATABLE, BASIC##LOOKS FOR THE JSR'S AND FIXESTHE Ag}DDRESSES(6-A(START OF HANDLER TABLE)>:F:,,0E6-%@) AN16-F:%@,%F:%@h},$AV%@NGET EDITOR PUTBYTE ADDRESSG)6-F:,%F:%@,$AV%@GCOPY EDITOR PUTBYTE ADDRESS$6i}-P:'AV,$6-&$AVC%-F:AC,%F:AD,$AV7AYC6-BP*$6-+F:A,&@,j}$AV*6--A"UA"@)"@)"A)"AG)"AR)"AWK AU A`k}K7"A`)"A)"A)"A)"A(A AK A`K7"AD)"AQ)"AY)"A)"l}AA AK A`"3 6-%@%6-%@) 3 A@, 6-%@""6/"*m}"6-%6-/ A0@B6-%AV$6-&06-P:+%,'AV,B6-%&$AVJN 6-%@n}+6-%@96-%@="K6-%@N$T 6- A6-^"h7#"A)"AB)"Ad- o}A@7 A`r/ 6-%@%6-%@/ AP|+%6-F:AC,%F:AD,$AV+(}V-@@p},(RENUMBER INSTALLED>-@@V(AT DECIMAL ADDRESS +-@@(+-@#AYq}@46-?:<<, 6-%@""@ 6-%@+6-%@96-%@="@$r}WW104,201,2,240,20,170,240,5,104,104,202,208,251,169,253,32,0,0,169,3,133,185,76,64ee185,104,133,232,104,133,231,104,1s}04,133,233,165,136,133,203,165,137,133,204,165,231,133,229,165bb232,133,230,160,0,177,203,133,205,200,177,203,133,206,56,t}165,203,229,138,165,204,229,139,240__54,200,177,203,133,207,200,177,203,133,208,200,32,43,98,165,208,197,207,208,28,165,2u}03,24^^101,207,133,203,165,204,105,0,133,204,165,229,24,101,233,133,229,144,2,230,230,160,0,240[[188,164,208,169,0,24v}0,208,169,0,240,35,177,203,201,10,240,31,201,11,240,27,201,12,240UU23,201,13,240,19,201,35,240,15,201,30,240,5,201,7,240,w}3,96,240,71,240,71,240,73__200,177,203,201,20,240,68,201,22,240,64,201,14,208,62,200,132,227,177,203,133,212,200,177bbx}203,133,213,200,177,203,133,214,200,177,203,133,215,136,136,136,32,221,99,165,235,56,229,205&ZZ165,206,240,11,165,236,176y},5,56,233,1,144,39,229,206,144,35,176,61,240,53,240,53,1440NN184,240,45,200,96,169,83,32,0,0,169,82,32,0,0,169,32,32,0,0,3z}2,72,99,165:aa227,168,200,96,165,136,133,220,165,137,133,221,165,231,133,218,165,232,133,219,169,0,240,24Dee240,103,240{},103,240,103,144,199,165,203,133,220,165,204,133,221,165,229,133,218,165,230,133,219N``165,220,56,229,138,200,165,221,229,|}139,240,77,160,0,165,235,56,241,220,133,223,200,165,236XXX176,5,56,233,1,144,58,241,220,133,224,144,52,165,223,201,0,208,6}},165,224,201,0,240b\\28,165,218,24,101,233,133,218,144,2,230,219,165,220,24,160,2,113,220,133,220,144,2,230lVV221,169,0~},240,179,169,0,240,87,240,77,240,77,240,77,144,149,169,78,32,0,0,169,70vUU32,0,0,169,32,32,0,0,169,1,133,228,165,229,133,2}18,165,230,133,219,32,241,99,32RR230,216,160,0,132,223,177,243,16,9,41,127,32,0,0,169,32,208,8,32,0,0,164,223\\200,20}8,233,32,0,0,165,227,168,200,200,200,200,200,200,96,240,59,240,17,240,58,144,175^^32,241,99,165,227,168,200,200,200,200,2}00,200,96,200,177,203,201,23,240,17,201,24,240,13WW201,14,208,5,152,24,105,6,168,169,0,240,232,200,32,81,98,177,203,201,2}0,240,8,201XX22,240,4,208,240,240,48,96,200,177,203,201,27,240,13,201,14,208,5,152,24,105,6,168]]169,0,240,236,200,15}2,197,208,176,2,144,170,96,169,0,133,216,133,217,32,210,217,165,212``133,235,165,213,133,236,96,240,47,165,218,133,212,16}5,219,133,213,32,170,217,165,228,201,1dd240,25,165,227,168,165,212,145,203,200,165,213,145,203,200,165,214,145,203,200,16}5,215,145,203bb200,200,200,169,0,133,228,96,165,136,133,203,165,137,133,204,165,231,133,229,165,232,133,230^^165,203,}56,229,138,165,204,229,139,240,43,160,2,177,203,133,223,165,229,24,160,0,145,203``165,230,200,145,203,165,229,101,233,133},229,144,2,230,230,24,165,203,101,223,133,203,144,2230,204,169,0,240,202,96YY169,0,133,8,133,2,165,9,240,8,169,116,}133,10,169,228,133,11,104,104,133,208,104,133ZZ207,104,133,206,104,133,205,56,173,231,2,133,203,233,1,133,0,173,232,2,133},204,233,0 YY133,1,160,0,177,207,145,203,24,165,203,105,1,133,203,144,2,230,204,24,165,207,105,1bb133,207,144,2,230,20}8,165,208,197,206,208,224,165,207,197,205,208,218,24,165,207,105,149,133 ]]207,165,208,105,0,133,208,160,0,165,203,133,4,1}65,204,133,5,177,207,145,203,200,192,158*[[208,247,24,165,203,105,158,141,231,2,165,204,105,0,141,232,2,169,7,164,203,166,}204,324TT92,228,76,0,160,173,31,208,201,7,208,6,169,0,133,2,240,117,201,6,208,113,165,2>UU208,109,73,1,133,2,160,0,24,1}65,4,105,133,133,203,165,5,105,0,133,204,132,3,177HRR203,32,0,0,164,3,200,192,18,208,242,24,165,4,105,90,133,6,165,5,105,0},72,165RNN6,72,169,10,72,169,0,72,169,10,72,169,0,72,169,2,72,165,1,72,165,0,72,96\UU169,155,32,0,0,160,0,24,165,4,105,}151,133,203,165,5,105,0,133,204,132,3,177,203fXX32,0,0,164,3,200,192,6,208,242,169,143,141,252,2,76,98,228,125,201,206,211},212,193pGG206,212,32,210,197,206,213,205,194,197,210,155,82,69,65,68,89,155D:RENUMBER.BASf*dX;INSTANT RENUMBERnX;by A. GiambraxX;aX;X;OS EQUATESX;FPA;;FP TO ASCIIFPI;;FP TO IN }TEGERIFP;;INTEGER TO FP INBUFFX;X;WORK AREASX; PRINTX;!X;NOTE: BASIC WILL LOOK UP THEX;E }DITOR PUTBYTE ADDRESS ANDX;FILL THIS IN FOR US"X;,POINTER6 INDEX@ EOPJLINELOWT LINEHI^LINE }OFFSEThSTATEOFFSETrCURLINE|LINENO1ԆLINENO2ՐLINENO3֚LINENO4פLINENO5خLINENO6 } FROREFLINELOREFLINEHIFUTLINE SINDEX TEMP1 TEMP2 TEMP3 TEMP4 SAVE }Y FLAG& BASE0 INCR: ERRD ERROR@N SPACE XX;b7lR>;;CORRECT NO.vFGOODPARAMS;;OF PARA }METERS?> FRINGBELL ERRLOOP 7;;ERROR7;;WRONG PARAMETERS0 HERRLOOP RINGBELLQ>;;BELL RINGER PRIN }TQ>;;RETURN AN ERRORPERR !ERRORGOODPARAMS 7;;THROW AWAY HIGH BYTEPBASE;;STORE BASE 7* PBASE47> }7;;THROW AWAY HIGH BYTEHPINCR;;STORE INCREMENTRQPOINTER;;BASIC'S POINTER\PINDEX;;TO PROGRAM CODEfQPOINTERp }PINDEXz QBASEPCURLINE;;SAVE BASE HERE QBASEPCURLINE%>LOOPQ@INDEX7;;GET LINENOPLINELOW;;S }TORE IT3Q@INDEX7;;LOAD HI BYTE PLINEHI; QINDEXSEOPQINDEX;;HAVE WE REACHEDSEOP;;END OF PROG? }FRESEQA;:THEN GO RESEQ3$ Q@INDEX7. PLINEOFFSET;;GET LINE OFFSET83BNXTSTATEMENTQ@INDEX7L&PSTATEOFFSET;;GET }STATEMENT OFFSETV3` CHECKTOKENjQSTATEOFFSETtRLINEOFFSET;;END OF LINE?~HNEXTSTATEMENTQINDEX;;INCREMENT INDEX },;;BY OFFSETOLINEOFFSET PINDEX QINDEXO> PINDEX QCURLINE, OINCRPCURLINE;;INCREMENT LIN }E NODNX2#CURLINE NX2%>;;RESET INDEX FLOOP(NEXTSTATEMENT%STATEOFFSET2Q><FNXTSTATEMENTFRESE }QAQ>P FRESEQBZCHECKTOKENd Q@INDEX7nR> xFGOTO;;CHECK THE TOKENR> ;;IS IT ONE WE WANT? FGOTOR> ;;IS I }T A GOSUB FGOTOR> ;;OR A TRAP STATEMENT FGOTOR>#;;OR A RESTORE FGOTOR>;;ON GOTO FONGOSUBAR>;;IF } STATEMENT FONGOTOA:X;#X;THE FOLLOWING 'BUCKET BRIGADE'X;MAKE THE RENUMBER UTILITY"X;RELOCATABLE,X;6ONGO }SUBAFONGOSUBB@ONGOTOAFONGOTOBJRESEQBFRESEQCT GOTO3^ENTRYQ@INDEX7hR>;;END OF 1ST STATEMENT?r FGOBACK|R> };;END OF LINE? FGOBACKR>;;DOES A NUMBER FOLLOW? HPRINTSR3 'SAVEYQ@INDEX7;;THIS IS A GOTOPLINENO1;; }REFERENCE SO3;;GET LINE NUMBER Q@INDEX7 PLINENO23 Q@INDEX7 PLINENO33 Q@INDEX7 PLINENO4&101:1 }D CONVERTIT;;CONVERT BCD LINENQREFLINELO;;GET LINE NO?X;b%SLINELOW;;SUBTRACT CURRENT LINENOl QLINEHIvFCHECKFLA }GQREFLINEHIESBCA;;IS REFERENCED LINE;;;AT TOP OF PROGRAMS>;;OR BOTTOM?DTOPSEARCHSBCASLINEHI&CHECK }FLAGDTOPSEARCH;;START AT TOPEENDSEARCH;;START FROM HEREONGOSUBBFONGOSUBCONGOTOBFONGOTOCENTRYFDENTRYRE }SEQCFRESEQD GOBACK3:  PRINTSRQ>S;;PRINT SR MESSAGE  PRINT*Q>R4 PRINT>Q>SPACE;;PRINT A SPACEH PRIN }TR PRINTLINENO\QSAVEY;;RESTORE Yf?p3z:TOPSEARCHQPOINTERPSINDEX;;POINT TO BOPQPOINTERPSINDEX }QBASE;;GET BASE LINE NOPFUTLINE;;STORE IT QBASEPFUTLINEQ> FSEARCHRESEQDFRESEQEONGOSUBC }FONGOSUBDONGOTOCFONGOTOD ENTRYEDENTRYF #ENDSEARCHQINDEX;;SET SINDEX TO PSINDEX;;CURRENT POSITION$ QINDEX }. PSINDEX8 QCURLINE;;SET FUTURE LINENOB PFUTLINE;;TO CURRENT LINE NOL QCURLINEV PFUTLINE` SEARCHj QSIN }DEX;;LOOK FOR REFERENCEDt ;;;LINE NUMBER~ SEOP;;END OF PROGRAM? 3 QSINDEX SEOP FNOTFOUND;;YEP! %> Q }REFLINELO;;GET REF LINE ; S@SINDEX7;;ARE WE THERE? PTEMP1 3 QREFLINEHI ESBC2 ; S> DNOTFOUND;;COULDN }'T FIND IT SBC2S@SINDEX7( PTEMP22 DNOTFOUND< QTEMP1;;IS IT A MATCH?F R>P HCONTINUEZ QTEMP2d R>n FFOUNDI }TAx #CONTINUEQFUTLINE;;KEEP LOOKING , OINCR;;INCREMENT FUTURE LINE PFUTLINE D@FAHEAD #FUTLINE @FAHEAD }QSINDEX;;POINT SINDEX TO ,;;NEXT LINE %> O@SINDEX7 PSINDEX;;ADD OFFSET D@CONT #SINDEX @CONT Q> } FSEARCH" FOUNDITAQ>, FFOUNDIT6 RESEQEFRESEQF@ ONGOSUBDFONGOSUBEJ ONGOTODFONGOTOET ENTRYDDENTRYE^ NOTFO }UNDh Q>N;;LOAD 'N'r PRINT| Q>F;;LOAD 'F' PRINT Q>SPACE;;LOAD A SPACE PRINT PRINTLINENO Q> PFLAG;; }SET FLAG QCURLINE PFUTLINE;;SET FUTURE LINE QCURLINE PFUTLINE  CONVERTBACK  FPA;;CONVERT TO A STRING } %> LPX 'TEMP1 Q@INBUFF7;;PRINT THE STRING& ILPX1;;NOT LAST CHARACTER0 M>;;TURN OFF HIGH BIT: PRINTD Q> }SPACE;;LOAD A SPACEN HENDNFX LPX1b PRINTl %TEMP1v 3 HLPX ENDNF PRINT QSAVEY;;RESTORE Y ? 3 3 3 } 3 3 3 : RESEQFFRESEQG ONGOSUBEFONGOSUB ONGOTOEFONGOTO ENTRYCDENTRYD +FOUNDIT CONVERTBACK;;FOUND L }INE NUMBER* QSAVEY4 ?> 3H 3R 3\ 3f 3p 3z : ONGOSUB3;;IS THIS ON GOSUB? Q@INDEX7 R> %FTAKEOFF;;IF YES, T }HEN PROCESS IT R> FTAKEOFF R>;;DOES A NUMBER FOLLOW? HLOOPAGAIN C , O>;;BUMP Y UP BY 6 ? LOOPAGAIN }Q> FONGOSUB TAKEOFF3 ENTRY$Q@INDEX7;;GET TOKEN.R>;;END OF STATEMENT8 FGETOUTBR>;;END OF LINEL FGET }OUTV HTAKEOFF`RESEQGFRESEQHj GETOUT:t ONGOTO~3;;IS IT ONGOTO Q@INDEX7R> FCHECKITR>;;DOES NUMBER F }OLLOW? HAHEADC,O>;;BUMP Y BY 6? AHEADQ>#FONGOTO;;IT'S AN ONGOTO COMMAND CHECKIT3C #RSTATEOFF }SET;;END OF STATEMENT?EOUTDENTRYC;;FOUND ON GOSUB(OUT:2 CONVERTIT< Q>;;COVERTS BCD LINE TO HEXFPLINENO5;;C }LEAR 5 AND 6P PLINENO6Z FPI;;FP TO INTEGERdQFRO;;GET THE INTEGERnPREFLINELO;;STORE ITx QFROPREFLINEHI: }RESEQHFRESEQCONVERTBACK QFUTLINEPFROQFUTLINE PFRO! IFP;;CONVERT HEX LINE TO BCDQFLAG;;CHE }CK FLAGR>;;IS IT TURNED ON? FRETURNQSAVEY;;RESTORE Y?QLINENO1;;STUFF LINE NUMBERP@INDEX7;;INTO BASIC C }ODE"3, QLINENO26 P@INDEX7@3J QLINENO3T P@INDEX7^3h QLINENO4r P@INDEX7|333RETURNQ> PFLAG }: RESEQ!QPOINTER;;ALL LINE REFERENCESPINDEX;;TAKEN CARE OF+QPOINTER;;NOW RESEQUENCE THE PROGRAM PINDEX }QBASE;;GET BASE NUMBER PCURLINE QBASEPCURLINE SPINNER&QINDEX;;SPIN THROUGH UNTIL THE END&;0SEOP };;END OF PROGRAM?: QINDEXD SEOPNFENDITALL;;YES (WHEW)X%>bQ@INDEX7;;GET LINE OFFSETlPTEMP1;;SAVE ITv!Q }CURLINE;;GET CURRENT LINE NO,%>P@INDEX7;;STORE ITQCURLINE3P@INDEX7;;STORE HI BYTE QCURLINEO }INCR;;INCREMENT IT PCURLINE D@NEXT#CURLINE @NEXT,QINDEX;;GO TO NEXT LINE  OTEMP1 PINDEX  D@NOCA }RRY* #INDEX4 @NOCARRY>Q>H FSPINNERR$ENDITALL:;;AT LONG LAST, THE ENDFPA;;FP TO ASCIIFPI;;FP TO IN S dX;INSTALL RENUMBER PROGRAMnX;by A. GiambraxX;!X;THIS PROCEDURE WILL MOVE THE#X;RENUMBER CODE FROM HIGH MEMORY$}"X;TO LOW MEMORY AND FIRE UP THE#X;VERTICAL BLANK SERVICE ROUTINEX;:X;X;OS EQUATESX; WARMST BOO$}T WARMSTARTt SETVB\CONSOL DOSVEC  MEMLO" CH,EXITVBb6X;@X;WORK AREASJX;T$} LOMEM^ SWITCHh IX2r IX3| INDEX IXϐ IX1͚ SVEˤ%PRINT;;BASIC WILL FILL THIS INX$}; X;OFFSETSX;DIFFFINISHVBROUTINEOFFSETMSGVBROUTINEOFFSET3READYVBROUTINEOFFSET1CRVBROU$}TINE!OFFSETINDEXINDEXVBROUTINEOFFSET2VBROUTINEBEGINX; BEGINQ>;;CLEAR WARMSTART FLAG& PWARMST0$} PSWITCH: QBOOTDFNODISK;;IF HE HAS A DISKNQ>4WARMSTART;;CAUSE RESETXPDOSVEC;;IF HE KEYS IN DOSbQ>5WARMSTARTl$}PDOSVECv NODISK77PIX;;GET START ADDRESS7;;OF RENUMBERPIX7PIX1;;GET END ADDRESS7PIX$}1; QMEMLOPSVE;;SAVE LOMEM ADDRESSS>;;IN ADDRESS 0 PLOMEM  QMEMLO PSVE S>* PLOMEM4%>$}>LHQ@IX7;;MOVE THE RENUMBERRP@SVE7;;UTILITY TO LOMEM\,fQSVEpO>;;INCREMENT OUR INDEXESzPSVEDINCRINDEX$} #SVE INCRINDEX,QIXO>PIX DCHECK #IX CHECK QIXRIX1;;ARE WE DONE?HL;;NOT $}YETQIXRIX1HL;;NOT YET$,.QIX8O>OFFSET2;;POINT TO THEBPIX;;VB INTERRUPT ROUTINEL QIXVO>` PIX$}j%>tQSVE;;POINT INDEX TO MEMLO~ PINDEX QSVE PINDEX MOVEVBQ@IX7;;MOVE THE VB TO LOMEM P@SVE7$}3 )>DIFF HMOVEVB,QSVE"O>DIFF;;BUMP THE LOMEM POINTER PMEMLO;;UP PAST OUR ROUTINES QSVE O> P$}MEMLO Q>;;START UP THE VB ROUTINE(%SVE2 $SVE< SETVBF!;;JUMP TO BASICP VBROUTINEZ QCONSOLdR>;;S$}TART NOT PRESSEDn HCOMPxQ>;;TURN OFF OUR SWITCH PSWITCH FRETURNCOMPR>;;DID THEY PRESS START HRETURN$} QSWITCH;;ARE THEY HOLDING IT%HRETURN;;DOWN? IF SO, JUST RETURNN>PSWITCH;;SET THE SWITCH%>,'QINDEX;;P$}OINT TO THE BANNER MESSAGE O>OFFSETPSVE QINDEXO>" PSVE,MESS6'IX3@Q@SVE7;;PRINT THE BANNERJ" $}PRINT;;ADDRESS FIXED BY BASICT%IX3^3h)>;;FINISHED?r HMESS|,%QINDEX;;SET UP OUR RETURN ADDRESSO>OFFSET1$}PIX2 QINDEXO>OFFSET15QIX25Q> ;;SET UP PARAMETERS5;;FOR RENUMBER ON THE STACKQ>5$}Q> 5Q>5&Q>05:+QLOMEM;;THIS IS WHERE RENUMBER LIVESD5N QLOMEMX5b!:;;THIS RTS CAUSES AN INDIRECT$}l ;JSR TO THE RENUMBER UTILITYv&CR;THIS IS WHERE RENUMBER RETURNS Q>;;PRINT A CARRIAGE RETURN PRINT%>,$} QINDEX%O>OFFSET3;;POINT TO READY MESSAGEPSVE QINDEXO> PSVE LOOPER'IX3Q@SVE7;;PRINT READY$} PRINT %IX33 )>* HLOOPER4Q>;;SET BREAK FLAG>PCHH RETURNR!EXITVB;;EXIT VB\ MSG }f =AINSTA$}NTAp A Az =ARENUMBERA READY AREADYA= FINISHROCEDURE WILL MOVE THE#X;RENUMBER CODE FROM HIGH MEMORY$CHDSENDTNNNNNEXTNAMEBEGIORECSIZN1NN1RECLENGTN1N1N1FILENAMENWAIDELADFSECTLOOMENUSTARME(}NUENPTDBFNFIERECSIZCHAN6CHARNOFILEN2TIMENEXCPTKSTROKBLANKDSKCHNRDONLEXTFILERDLOOMAXFILEXTDATAMTCHLOOMTH(}FLGMATCDIRONLORECNAMEN1KBCHNSCRNCHNWRTONLKEYLOONOSTROKCRTECHKEYINISCRNDSNWNAMEKEYECHNOCHNN10MAXPAGRDDIL(}DDBASMODIFCREXTDICRDBASEXECNAMHDBUFSIZOLDNAME(} (} !"#$%&'(}()*+,-./0@1234567(}89:;<=>?@ABCDEFG(}HIJKLMN ##*****************************##* EXTENDED DIRECTORY (} *##* BY ROLAND S. CHAN MARCH 84*(##* MISSISSAUGA , ONTARIO *2##*****************************<F(}ȠϠŠP A)pR!!T!!ӠӠŠV!!(}ZЭdΠ٠śn ǩ٠Ǜx6-( APӠǠ(}B (}3(%Ġ٠Ӡ6(BAR!!̩ӠŠ̠ӛWWApA@A(}`AAAPApAAA%%̩٠٠ӛ, -,(٠(}Ġ٠ -( Dos Directory -(7<%&, - (Extended Directory -(7%<%&,=(} -3($ENTER ES TO CHANGE DIRECTORY NAME..= A`00̩٠ŠĠٮ5 -+((}5 A`))̩٠ǠŠM -)(CREATING EXTENDED DATA BASE/-C((}PLEASE WAIT....M A`̩٠ś"-(#(宮- A`,##̩٠Ġ(}Ġś6' -(ǠҠ' A`^""̩٠Šěh7 - (-( Loading  PLEASE WAIT(}..7 A`r##̩٠Ҡś|1('(ĠŠ٠1 A`00̩٠Š(}Ġٮ5 -+(5 A` ̩٠Šś (}+%@(}# -#(EXTENDED DIRECTORY6-A +%@# -#(EXTENDED DIRECTORY6-AP (}! -!(analog computingG -;6-F:A`,%F:Aa,$AV%@%@ G@ ( (} A`̩٠՛ ĽӠ٠ Ġٛ - ((& -(}06-+$,&%:6-%6-%&D(6-%6-%N 6-%6.>:,X&&(.7<%,7<,7%<%(},b l,  -,(HIT FOR NEXT PAGEvA`6-%@d6.>:,($$(. ٠(}٠*(*(. ŠĠ٠, !-,(HIT FOR LAST PAGE$٠(}٠ś - $ŭĠŠś 6-6.D: 6-+$,&(}% -%7<,4A %A67<,..6-% 67<,.7<,6-%* 4$(}ŠHHӠĠ٠ŮȠӠ٠ĠŮ8B A6-L)} -V ` -b8,A`e6-+$,&%j7<,07<%&,A`t67%&<%&,.7%<,)}~ 6-%68,-6-%  $Ҡ""Ӡˠ٠# A0#)}D:*.* 6--@e +7<,4 FREE SECTORS!6.+ A "A  6-% 68,)}-( 6-+$,&%67<%&,.""7<,0 EXTDIRNMDATA #;,67%<%&,.EXTENDED DIRECTORY FILE568,-)};6-( 2$<ԠF""ŠĠΛP  ZK:dS:n$)}xϠ""Ԡ͠ĠĠϛ""ϠŠΠ - )")(A)} * 6-& $vҭ{ŠĠٛ 6-6-(6-   -)}8,"A ` 68,-6-+$,&% -(7<%&, 6.6-, -,()}POKE 702,64:POKE 694,N09 Ap-( &-*(0-9("A P<"A&67) }&,.$6-&*-2(< A !! @2)!A"Ap67<,.>:,B:,!Ap - (6) }-% A B:,"*7<,4Ap67%<%&,.68,-  $ ŭ*""ŠŠ) }ٛ> 6- HR 6- B\ -f(7<%&,p 6-%z $) } ٭ Šٛ   6-6-6- -(  68,-6-+$,&%P  6-  Z A) }'d -%%&n 67<,.x    68,-(6-(   $  Š)}ӠŠ  6-6-@'6-@36-@?6-@K6-@W6-@)}c6-@o6-@{6-@ 6-@6-@6-@6-@6-@6-@6-@ )} W 6-6-6-6-!6-'6-36-AU?6-@%K6-@dW6-A -6-@6-@%!6-'6-)}-6- ;,;, !!ŠȠӛ K6-A6-A0'6-A@36-A?6-ApK6-A%`)} 36-@6-A'6-A 36-A  ԠŠś  6-6- 0 Š͠)}ӛ: 6-@06-%6-$D ##;,;,9,;,;,;,N & 6.  6.D:EXTDIRNM.DAT&6-X  6.67,.)}67,.b ##ĠӠٛ͠l   ''ĠĠ٠ś ;,;,;,  A3p6)}-(  "A3p @6 ##̠Š٠ś A3p   6- ##)}ŠĠ٠ś  * ٠٠՛>  6-6-H   6-R 1  6- 6-6-! ')}6--6-1 W A40\ # 6-%6-%# A4a "A3pf 6-@0 k  *"%  A3)}0m (*"%A3@p 1  )!6-6- #6-' 1 A4 ĠŠś    A5 6)}-  =7<,4 D:DOS.SYS6-" .A:A=. %  ŠĠқ  6-6- 6)}-  A3p  A56-  =7<,4 D:DOS.SYS6-" .A:A=. % )}ŠĠқ 6-6- 6-  A3 D:EXTEND.BASN1N1FILENAMENWAIDELADFSECTLOOMENUSTARME(K"#s8NFMLKDIISCREESTARTHSTARTL -} ;@,;@,+-@@"'67,.>:,+ 104,104,104,170,76,86,228( >:A%,2- -} A-@@K:<>)@"AU(6-@46-@> AF1"@'6-@-}'6-@1 AZ >:, @`dC-@@!5(INPUT FILE NAME TO LOAD==>9C An6-@- }@!2(INPUT FILE NAME TO SAVE6,@6%%6-F:@,%AV$F:@,@6-P:'AV-!},J6-&AV$TARAS^'AV@1'AW@h#AP#6-?:C:,<@,r-"}@|?-@@!?(%  @`?-@@!?(% -#} `F:A,"A8*-@@!>(DRIVE NOT THERER-@AV ` ApU-$}F:A,"Ap*-@@!=(FILE NOT FOUNDQ-@AU  ApD:SCRNMAKR.BAS ,t@^tFSCREESTARTHSTARTL @@%%6-F:@1&},%AV$F:@,6-P:'AV,6-&$AVARAS'AV@1'AW@1'}$1AP@16-?:C:hhhLV,<@,)113 small H's, inverse *, LV, inverse small D.@D:SC1(}RNLOAD.BAStFSCREESTARTHSTARTL @@%%6-F:@0 ;More Fun With BOUNCE;by Joel Gluck;for ANALOG COMPUTINGBYTE ARRAY xx(256),yy(256), xd(256),yd(256)BYTE xc,yc5*},hidden,cmode,TIME=20, RANDOM=53770,CONSOL=53279, CURSC=708,CH=764,NEWCOL=710, dist=[0],audball=[0]CARD num=[5+}0],curspeed=[1500], ballspeed=[900]CARD ARRAY linept(48)PROC gr5init()CARD scrn=88BYTE line,BALLCOL=709,WALLCOL=715,}0Graphics(5)FOR line=0 TO 47 DO linept(line)=scrn+20*lineODBALLCOL=$0CWALLCOL=$94RETURNPROC plot5(BYTE x,y,col)B5-}YTE POINTER pixelBYTE ARRAY colfil= [0 85 170 255], mask= [63 207 243 252], mask2= [192 48 12 3]pixe5.}l = linept(y)+(x RSH 2)pixel^ = pixel^ & mask(x & 3) % (colfil(col) & mask2(x & 3))RETURNBYTE FU5/}NC locate5(BYTE x,y)BYTE POINTER pixelBYTE ARRAY mask= [192 48 12 3]pixel = linept(y)+(x RSH 2)RETURN((pixel^ & mask(x &50} 3)) RSH (((x & 3) XOR 3) LSH 1))PROC hline(BYTE y,c)BYTE iFOR i = 0 TO 79 DO plot5(i,y,c)ODRETURNPROC vl51}ine(BYTE x,c)BYTE iFOR i = 0 TO 47 DO plot5(x,i,c)ODRETURNPROC pauz(CARD p)CARD iFOR i=1 TO p DOODRETURNPRO52}C f16(BYTE x,y)BYTE g,a,bg=Locate(x,y)IF g=32 THEN RETURNFIg==+128NEWCOL=15b=yDO color=0 Plot(x,b) b==-1 c53}olor=g Plot(x,b) IF b=2 THEN EXIT FI Sound(0,b,8,8) pauz(700+x*50)ODa=xDO color=0 Plot(a,b) a==+1 co54}lor=g Plot(a,b) IF a=19 THEN EXIT FI Sound(0,a,8,8) pauz(700+x*50)ODcolor=0Plot(a,b)SndRst()RETURNPROC 55}colburst(BYTE x,y)BYTE g,c,ag=Locate(x,y)IF g=32 THEN RETURNFIg=g+128NEWCOL=(Rand(16) LSH 4) % 10color=ga=x-1IF a56}>13 THEN a=0FIPlot(x,a)DrawTo(x,y)FOR c=0 TO 15 DO Sound(0,0,4,15-c) pauz(400)ODcolor=0Plot(x,0)DrawTo(x,y)Snd57}Rst()RETURNPROC dropkick(BYTE x,y)BYTE g,h,a,bg=Locate(x,y)IF g=32 THEN RETURNFIg==+128NEWCOL=152b=yDO color58}=0 Plot(x,b) b==+1 color=g Plot(x,b) IF b=23 THEN EXIT FI Sound(0,b+10+(x LSH 1),10,8) Sound(1,b+20+(x LS59}H 1),10,8) pauz(400)ODSndRst()h=0NEWCOL=159a=xDO color=h Plot(a,b) h=Locate(a+1,b-1) a==+1 b==-1 color=g5:} Plot(a,b) IF a=18 OR b=1 THEN EXIT FI Sound(0,a-x,8,(b RSH 1)) pauz(800)ODcolor=0Plot(a,b)SndRst()RETURN5;}PROC foo()BYTE vFOR v=0 TO 15 DO Sound(0,255,10,15-v) Sound(1,0,8,8-(v RSH 1)) pauz(500)ODSndRst()RETURNPROC 5<}intro()BYTE xGraphics(17)CURSC=$08Position(0,10)PrintD(6,"MORE FUN WITH")Position(0,12)PrintD(6,"B O U N C E !")Posi5=}tion(0,14)PrintD(6,"BY JOEL GLUCK")pauz(65000)pauz(65000)pauz(65000)FOR x=0 TO 12 DO f16(12-x,10)ODFOR x=0 TO 12 DO5>} colburst(x,12)ODFOR x=0 TO 12 DO dropkick(12-x,14)ODCURSC=$48Position(14,1)PrintD(6,"ANALOG")foo()Position(11,3)5?}PrintD(6,"COMPUTING")foo()Position(12,5)PrintD(6,"FEBRUARY")foo()Position(16,7)PrintD(6,"1985")foo()pauz(65000)pauz(5@}65000)pauz(65000)RETURNPROC drawdoc()BYTE CURS=752CURS=1PutE()Print("Use joystick and ")PrintE(" to draw/eras5A}e.")Print("Hit for balls, ")PrintE(" for brush speed.")Print(" clrs balls; ")PrintE("- clrs screen.")Prin5B}t("Press to Bounce!")RETURNPROC clearscrn()BYTE a,b,gFOR b=1 TO 19 DO FOR a=1 TO 78 DO g=locate5(a,b) 5C}IF (g=2 OR CH>28) AND g>1 THEN plot5(a,b,0) Sound(0,b,6,4) IF CH=28 THEN pauz(300) FI FI5D} g=locate5(a,39-b) IF (g=2 OR CH>28) AND g>1 THEN plot5(a,39-b,0) Sound(0,b,6,4) IF CH=28 THEN 5E} pauz(300) FI FI OD Sound(0,0,0,0)ODIF CH>28 OR hidden=2 THEN hidden=0FIRETURNPROC movecursor(BYTE b5F}flag)BYTE g,STIK=632,TRIG=644,volBYTE ARRAY v=[2 2 2 0 2 1 1 1 0 2 0 0 0 1 1 1 1 2 1 0 1 1]INT cxd,cydIF S5G}TIK<15 OR bflag=1 THEN cxd=v((STIK-5) LSH 1)-1 cyd=v(((STIK-5) LSH 1) % 1)-1 IF bflag=1 THEN cxd=2 FI g=hidden5H} IF TRIG THEN vol=4 ELSE vol=10 g=cmode*3 FI Sound(0,(xc+yc)*cmode, 8+(cmode LSH 1), vol-(5I}cmode LSH 1)) plot5(xc,yc,g) xc==+cxd yc==+cyd IF xc<1 THEN xc=78 FI IF xc>78 THEN xc=1 FI IF yc<1 TH5J}EN yc=38 FI IF yc>38 THEN yc=1 FI hidden=locate5(xc,yc) plot5(xc,yc,1)FIRETURNPROC audlayball()BYTE i5K},j,k FOR j=0 TO 2 DO FOR i=j*50 TO j*50+20 DO Sound(0,i,10,15-j*6) pauz(100) ODODSound(0,0,0,0)RETURNBYTE5L} FUNC number()BYTE n,vv=CHOpen(2,"K:",4,1)n=GetD(2)Close(2)CH=vIF n>47 AND n<58 THEN RETURN(57-n)ELSE RETURN(99)5M}FIPROC audcmode()BYTE nFOR n=1 TO 5 DO IF cmode THEN Sound(0,100-n*10,10,4) ELSE Sound(1,150-n*10,10,4) 5N} Sound(0,5-n,8,6) FI pauz(2000) SndRst() pauz(1000)ODRETURNPROC cursor()BYTE nIF CH<>255 THEN IF CH=33 THE5O}N cmode==XOR 1 audcmode() ELSEIF CH=28 OR CH=156 THEN clearscrn() ELSEIF CH=21 THEN hidden=2 plot5(xc5P},yc,2) movecursor(1) audlayball() ELSE n=number() IF n<99 THEN curspeed=n*500 FI FI CH=255FI5Q}movecursor(0)RETURNPROC bouncedoc()CARD nPutE()n=numIF n=1 THEN PrintE("1 ball is bouncing.")ELSE PrintC(n) 5R}PrintE(" balls are bouncing.")FIPrintE("Hit digits for speed.")Print(" changes sound focus, ")PrintE(" nudges ball.5S}")Print("Press to Draw again.")RETURNPROC process(BYTE a,b)BYTE gg=locate5(a,b)IF g=2 THEN IF num<200 THEN5T} xx(num)=a yy(num)=b num==+1 ELSE plot5(a,b,0) FIELSEIF g=0 THEN plot5(a,b,1)FIRETURNPROC ballinit5U}()BYTE a,bCURSC=$44num=0FOR b=1 TO 19 DO FOR a=1 TO 78 DO process(a,b) process(a,39-b) ODODFOR a=0 TO num 5V}DO xd(a)=Rand(2) LSH 1 yd(a)=Rand(2) LSH 1ODRETURNPROC moveball(BYTE n)BYTE g,pa,pbg=locate5(xx(n)+xd(n)-1,yy(n)+5W}yd(n)-1)IF g<2 THEN plot5(xx(n),yy(n),0) xx(n)=xx(n)+xd(n)-1 yy(n)=yy(n)+yd(n)-1 plot5(xx(n),yy(n),2) IF n=audball5X} THEN dist==+1 FI RETURNELSE pb=locate5(xx(n),yy(n)+yd(n)-1) pa=locate5(xx(n)+xd(n)-1,yy(n)) IF n=audball THEN5Y} IF dist THEN Sound(0,170-((38-dist) LSH 2), 10,8) Sound(1,((38-dist) LSH 2), 10,8)5Z} FI dist=0 TIME=0 FI IF pa>1 THEN xd(n)=2-xd(n) IF pb>1 THEN yd(n)=2-yd(n) RETURN ELSE5[} plot5(xx(n),yy(n),0) yy(n)=yy(n)+yd(n)-1 plot5(xx(n),yy(n),2) RETURN FI ELSEIF pb>1 THEN y5\}d(n)=2-yd(n) plot5(xx(n),yy(n),0) xx(n)=xx(n)+xd(n)-1 plot5(xx(n),yy(n),2) RETURN ELSEIF Rand(2) THEN x5]}d(n)=2-xd(n) ELSE yd(n)=2-yd(n) RETURN FIFIRETURNPROC cleanup()BYTE a,bFOR b=1 TO 19 DO FOR a=1 TO 78 D5^}O IF locate5(a,b)=1 THEN plot5(a,b,0) FI IF locate5(a,39-b)=1 THEN plot5(a,39-b,0) FI ODODRET5_}URNPROC bounce()CARD iBYTE nballinit()bouncedoc()audball=0dist=0IF num THEN DO FOR i=0 TO num-1 DO mov5`}eball(i) IF CH<>255 THEN IF CH=62 THEN audball==+1 IF audball=num THEN audball=5a}0 FI dist=0 ELSEIF CH=35 THEN xd(audball)=2-xd(audball) ELSE n=number5b}() IF n<99 THEN ballspeed=n*n*100 FI FI CH=255 FI IF CONSOL=5 THE5c}N EXIT FI OD pauz(ballspeed) IF TIME THEN SndRst() FI UNTIL CONSOL=5 OD SndRst()5d}FIcleanup()RETURNPROC MFWB()intro()gr5init()hline(0,3)hline(39,3)vline(0,3)vline(79,3)DO drawdoc() xc=39 y5e}c=19 hidden=locate5(xc,yc) cmode=1 plot5(xc,yc,1) DO cursor() CURSC=TIME pauz(curspeed) Sound(0,0,0,05f}) pauz(curspeed) UNTIL CONSOL=6 OD plot5(xc,yc,hidden) CH=255 bounce()ODRETURNcurspeed) Sound(0,0,0,04b+,DATHEXLINDATLIDDBYTPASCHKSUTOTA@9q}B'DOS SYSB+BOPCHG1 LSTB-BOPCHG2 LSTB/OBJSAVERLSTB5MATHFIX LSTB8KEYPAD BASBKKEYPAD ASMB-dRENUMBERBASB8RENUMBERASMBRINSTALLASMB:EXTEND BASB SCRNMAKRBASB%SCRNLOADBASB>)MFWB ACTBgENGLISH BASB$ENGLISH ASMBJWORDADV BASBBOOT3 ASMBBOOT4 BASBBOOT6 ASMB BOOT7 BASBP HISEAS BASBe\VANDENBGBASB DECODE ASM $$*** ENGLISH ERROR MESSAGES ***990,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,10,11,12,13,14,15r9r};@,9@",/-@"3"<68,-@ L6-A V#A` Ar( CHECKING DATA(86-%@9s}(LINE:!"8B:,@AP2F%6-F:A,%F:A,$AV+C(LINE  MISSING!F<e-@9t}@@36-@:7,,&@HO6-@:7%@,,&@He6-8,$@%8,F."@*@ $".9u} @@P% 6-%!A %6-&AZ  ""@@d APn F:A,@APx9v}@Z+("INSERT DISK WITH DOS, PRESS RETURN/Z@@ D:AUTORUN.SYSM(( WRITING FILE9w}#6-@/6-A 9#AC AM @@(BAD DATA: LINE ddFFFF00208324A9008DF420AD210385CBAD22039x}85CCA00BB1CB9967208810F8AD6D201869018DB620AD6E206900,845dd8DB720A50C8D6520A50D8D6620A9848DE702A9248DE802A961850CA920850DA9y}9758D6D208D4603A9208D6E208D,525dd4703A9678D2103A9208D2203602034204CFFFF0000000000000000000000004C3420488DF5208A489848A5B99z}F0,899dd29ADF520C941F022C99BF00FADF420C902F017ADF420D00B4CB820A9008DF4204CB0206868AA68A00160A9028D,337ddF42068A868AA69{}84CFFFFA5B90AA8B00DB9F62085CDB9F72085CE4CD520B9222185CDB9232185CEA0FFC89848B1,689ddCD297F20B52068A8B1CD10F0A92020B520A9019|}8DF4204CA4200000000000007A218D219821AA21BB21C621D321,934$ddDE21E721F521072215222522322246225A2267227B228B229C22AB22B622BF29}}2CD22DC22EB22F8220723152320,687.dd2330233E2348235A236D237F2392239D23A923BF2300000000000000000000000000000000000000000000009~}00,2438ddCF23E123F423FD230B241F242C2441244C245B24692477244D454D4F525920494E53554646494349454ED45641,829Bdd4C554520455259}24FD2544F4F204D414E59205641524941424C45D342414420535452494E47204C454E4754C84F,412Ldd5554204F4620444154C1494C4C4547414C20569}414C55C5494E505554204552524FD244494D204552524FD25354,144Vdd41434B204F564552464C4FD74E554D42455220544F4F20434F4D504C45D84C49}94E45204E4F5420464F554EC44E,753`dd45585420574954484F555420464FD24C494E4520544F4F204C4F4EC7474F535542204F5220464F522044454C9}45,169jdd5445C452455455524E20574954484F555420474F5355C247415242414745204552524FD242414420535452494E,812tdd47204348415249}1435445D250524F4752414D20544F4F204C4F4EC742414420444556494345204E554D4245D24C,326~dd4F41442046494C45204552524FD2425245414B9}2041424F52D4494F4342204F5045CE4E4F205355434820444556,807dd4943C5494F4342205752495445204F4E4CD9494E56414C494420434F4D4D4149}EC446494C45204E4F54204F5045,349ddCE42414420494F4342204E554D4245D2494F43422052454144204F4E4CD9454E44204F462046494CC55452559}4E,944dd4341544544205245434F52C44445564943452054494D454F55D4444556494345204E41CB53455249414C204255,488dd53204652414D49}94EC7435552534F52204F5554204F462052414E47C553455249414C20425553204F5645525255,940ddCE53455249414C2042555320434845434B53559}CD44455649434520444F4EC5564552494659204552524FD24655,679dd4E4354494F4E20554E494D504C454D454E5445C4494E53554646494349454E59}4205241CD4452495645204E554D,218dd424552204552524FD2544F4F204D414E59204F50454E2046494C45D34449534B2046554CCC4441544120492F9}4F,720dd204552524FD246494C45204E554D424552204D49534D415443C84241442046494C45204E414DC542414420504F,167dd494E5420444159}441204C454E4754C846494C45204C4F434B45C4434F4D4D414E4420494E56414C49C444495245,690dd43544F52592046554CCC46494C45204E4F54209}464F554EC4504F494E5420494E56414C49C4E002E10200200000,217 D:ENGLISH.BAS8Nd%X;ENGLISH ERROR MESSAGES FOR BASICn"X;WRITTEN BY STEPHEN PROKOPCHUKxX; ERRNUM TABST˖ VLOW͠EDITA=}B!DEVPUTF MEMLO DOSINI X; X; STARTQ> PFLAGQEDITAB;;FIND LOCATIONPTABST;;OF =}EDITORQEDITAB;;DEVICE HANDLERPTABST;;TABLE"%> ,LOOPQ@TABST7;;COPY EDITOR6PTABLE8;;DEVICE HANDLER@1;=};FROM ROM INTOJILOOP;;RAMTQPUT;;SAVE OLD^,;;ADDRESS OFhO>;;EDITOR PUTrPJUMP;;ROUTINE FOR|QPUT;;PROGRA=}M TO JUMPO>;;TO LATER PJUMPQDOSINI;;FIND DOS INITPDISK;;ADDRESS ANDQDOSINI;;SAVE IT TO JUMPP=}DISK;;TO LATER%REINITQ>4PROGEND;;MOVE BOTTOM OFPMEMLO;;MEMORY TO ENDQ>5PROGEND;;OF PROGRAM PMEMLOQ>4=}RESET;;CHANGE DOS INITPDOSINI;;ADDRESS TOQ>5RESET;;POINT TO OURPDOSINI;;RESET CODE$Q>4CHECK ;;CHANGE ED=}ITOR PUTPPUT;;ROUTINE + CIO PUT ADR&$PDEVPUT;;FOR IOCB #0 TO POINT TO0&Q>5CHECK ;;OUR NEW PUT ROUTINE: PPUTD=}PDEVPUTNQ>4TABLE;;MOVE EDITORXPEDITAB;;HANDLER TABLEbQ>5TABLE;;TO POINT TO OURlPEDITAB;;TABLEv:X;=} RESET REINIT;;SET UP TABLES%DISK!;;CHANGED TO DOS INIT ADRX; TABLEOPEN ;;HANDLER TABLECLOSE ;;FOR =}EDITOR GET  PUT  STATUS  XIO  !REINITX;CHECK5;;SAVE ACC, XREG PCHR;;AND YREGA 5*C45=}>QERRNUM;;IS IT AN ERROR?HFEXIT;;NO-NORMAL EXITRQCHR;;HAVE WE REACHED\R> A;;"A" IN "AT LINE"fFEXIT;;PART OF MES=}SAGE?pR>;;IS IT AN EOL?zFEOL;;YES-BRANCHQFLAG;;HAS NEW ERRORR>;;MESSAGE BEENFEXIT;;PRINTED?QFLAG;;CAN=} WE PRINTHGETPAR;;THIS?!ERROR;;SHOW A MESSAGEX;EOLQ>;;SET OUTPUT CHECKPFLAG;;FLAG AND!GJUMP;;GO PRIN=}T EOLX;GETPAR7;;RESTORE REG'S7;;MASK BASIC'S>;;ERROR MESSAGE7;;BY RETURNING%>;;WITHOUT$:;;PRINTING A C=}HAR.X;8EXITQ>;;ALLOW FOLLOWINGBPFLAG;;CHARS TO BELGJUMP7;;PRINTED ALWAYSV?`7;;RESTORE REG'Sj>t7~$JUMP!=};;CHANGED TO PUT ROUTINEX;ERRORQERRNUMT?;;MULTIPLY ERRNUM?;;*2EIOERR;;ERROR<128QBASIC8;;FIND MESSAGE=}PVLOW;;ADDRESS ANDQBASIC8;;SAVE IT PVLOW!PRINT;;PRINT MESSAGEX;IOERRQIO8;;FIND MESSAGEPVLOW;=};ADDRESS AND QIO8;;SAVE IT PVLOWPRINT%>;;ROUTINE TO( PRLOOP3;;PRINT ERROR MESSAGE2C;;SAVE Y REG<5FQ=}@VLOW7;;GET CHARACTERPM>;;MASK INVERSEZ JUMP;;GO PRINT ITd7n?;;RESTORE Y REGx Q@VLOW7IPRLOOP;;ARE WE AT END=}?Q> ;;SEND SPACE AT JUMP;;END!Q>;;SET FLAG TO MASK BASIC'SPFLAG;;ERROR MESSAGE!GETPAR;;AND EXITX; F=}LAG  CHR X;!X;ERROR MESSAGE ADDRESS TABLESX;+BASIC ==B2=B3=B4=B5=B6=B7=B8% B9=B10=B11=B12==}B13=B14=B15! B16=B17=B18=B19=B20=B21$IO I128=I129=I130=I131=I132"! I133=I134=I135=I136=I137,! I138=}=I139=I140=I141=I1426! I143=I144=I145=I146=I147@' ===========J! I160=I161=I162=I163==}I164T! I165=I166=I167=I168=I169^ I170=I171hX;rX;THE ERROR MESSAGES|X;B2AMEMORY INSUFFICIENTAB3AVA=}LUE ERRORAB4ATOO MANY VARIABLESAB5ABAD STRING LENGTHAB6AOUT OF DATAAB7AILLEGAL VALUEAB8AINPUT E=}RRORAB9ADIM ERRORAB10ASTACK OVERFLOWAB11ANUMBER TOO COMPLEXAB12ALINE NOT FOUNDAB13ANEXT WITHOUT=} FORAB14ALINE TOO LONGAB15AGOSUB OR FOR DELETEDAB16ARETURN WITHOUT GOSUBAB17AGARBAGE ERRORA&B18A=}BAD STRING CHARACTERA0B19APROGRAM TOO LONGA:B20ABAD DEVICE NUMBERADB21ALOAD FILE ERRORANI128ABREAK ABORTA=}XI129AIOCB OPENAbI130ANO SUCH DEVICEAlI131AIOCB WRITE ONLYAvI132AINVALID COMMANDAI133AFILE NOT OPEN=}AI134ABAD IOCB NUMBERAI135AIOCB READ ONLYAI136AEND OF FILEAI137ATRUNCATED RECORDAI138ADEVICE TI=}MEOUTAI139ADEVICE NAKAI140ASERIAL BUS FRAMINGAI141ACURSOR OUT OF RANGEAI142ASERIAL BUS OVERRUNAI1=}43ASERIAL BUS CHECKSUMAI144ADEVICE DONEAI145AVERIFY ERRORA"I146AFUNCTION UNIMPLEMENTEDA I147AINSUFFIC=}IENT RAMAI160ADRIVE NUMBER ERRORA I161ATOO MANY OPEN FILESA*I162ADISK FULLA4I163ADATA I/O ERRORA> I164=}AFILE NUMBER MISMATCHAHI165ABAD FILE NAMEAR!I166ABAD POINT DATA LENGTHA\I167AFILE LOCKEDAfI168ACOMMAND I=}NVALIDApI169ADIRECTORY FULLAzI170AFILE NOT FOUNDAI171APOINT INVALIDAX;PROGEND STARTEDITA<v$$KKK3WDLITTLITLKEYRCONLXLIPWRDDIFNWPLPLMMKLSMLWSMFNPLMAPNMWRDVLCOLOMSECA}CCCSELBDGAPLRMMSCMOGSDDXYTGWWCWCCL@@@@A}@@ @ A} !"#$%&A}'()*+,-./0123456A}789:;<=>?@ABCDA}Š٠Š̠6-@6-@'6-@2;@,9@,9@,9@,A}9@,9@,9@,9@,;,;, 6-68,-@5'68,-@<68@,-AcQ68@A},-A1]6-@i6-@u6-@ 6-@6- @ Q6-P:@$H:,,%@;6-P:@$H:,,%A}@C1Q@ $  6-- 8 8,"8,,# @,B:,86-@   $c A}AF:A,&@$+?6-+F:A,%,$AVK-@U B"c-A`%F:BsD%, .AVA}'AV<-@J-@N"`$@%%' 6-%  B#' @PX-"@)"@5A})"A1)"AcI2@@@O6-U6-X$ + 6--&@%"@+6-"a"8,*"8A},*"8, 6-&6-/68,-56-W2@@@a @@$! 6-%  @!6-&$($ 6A}-&6-6-!2$$2$-@68,- $6-4[ @h6-6-%6-@B+6-16-76-=6A}-C6-I6-O6-U6-[6-6C 6-6-P:@$H:,,%CAA A0A@8"6-B:,:96-B:A},%@-568,-P:@ $H:,,%9 <(68,-@:7,,%"(6-%@d> 6-%!A`6-@368A},-8,%8,%8,!6-%-"@36-B 6-% @`Dk A068,-@$6-%368,-@5;6-%J6A}8,-A1R6-%a68,-Ack @xF>-&@@E:,+@ &B:,,'%@> J0-&@A}8,!8,0,8,@L   $N96-@6-@%+@9AV'AVOIP:$H:,,6-AaA}'6-@336-A)?6-A0I @P'6-@36-Aa!6-'6-Qg-@'6-P:@$H:,,%KA}@@@@S0W ]6-g BR#(6-6- 6-@#$T)(6-6-@&A}6-@)$V)(6-6-@ &6-@)$W)(6-6-@&6-@)$X @Z(@A}}$_@ @,,@1,@@=,@@$d@ @,/@+,@=/@A}@@$@ @,/@+,@=/@@@$F @,/@1/@@A}=/@C/F$@ @,/@1/@@=/@@$@ @,@/+/@A}=/@@@$X@ @,/@1/@@=/@@$@ @,@/+/@A}=,@@@$ @ @,@+/@@7/@=,@$@ @,/@1/A}@@=,@@$@ @,/@1/@@=,@@$% (8,6-#B% @A}V% (8,6-#B % @V1(8@,6-@'#B01 @V1(8@,6-@'#BA}@1 @VV A~I 6-6-P:$H:,,%) @)"3 @96-?6-CI,$)2A0@A}@#),  6-% A0 !6-&  6-% AP !6-& 1A},K "*"26-!',-6-36-?6-@2E"K6-R:,"@- $[A}@w6-256-P:@0$H:,,%A @K @U@c[, "6- ")" APA} A P<-@ @"8,(,, 26-< A&7 6-6-@!6-@-6-@B7 BA}{-+@ &B:,,'@ +(@9-A= G@2S,@ e/@@ q6-@2{ A&A}2 6-R:,(2@@@224G6-+"@)"@)"@,&+"@ )"@)"@,6-+A}"@)"@ )"@,&+"@)"@)"@, 6-%6-%6-6-` ,&& 1 A}A)(  , ? 6-%/+"*"*!* @,)+"*!,56-? A " $ (T:,B A}R:,"@A' A PT 9"Aa)"@3!6-&)6-&/6-9 A&^ E"@c;A A A}A A A 0E A&h  " AU A&r '  @02' A&   6-@A} !@6-   6-@ !@6- %"@*"@%6-@  (+),6-  (+A}),6- %"@*"@%6-@  A0$ %!@* @%6-@ & %"@)"@A}%6-@0 $# AP#B#6-@ Z-@"-*(@. 8@>,Z2@ A}@@ (T:, B# @PA70P:@$H:,,P:@$H:,,P:@$H:,,$A AE0Y APA}#,@ @)6-3 @= A1G A Y"*"A (A ] AP,@ 'A} A1-6-7 @A A1K A ]"*"A : "@Al Y AP,@)6-@A}3 @= A1G A Y"*"A  "@A%} 6- AP#,@/,@ A,@A}@S,@ @_6-@ i @s A1} A %"*"A %(A%(AA} &"@AH&` A#,@@/6-@56-? @I A1S A `(A'a 6A}- A#,@//@A-@@G"Q B[ Ba6-'"@ B!'\-@A}@$(@*. @p46->2H A P\"@A@$'(A'l A#,@A}@5/@@A6-@K @U A1_ A l(B ((B <(: A6-@#A} @- A :(B(A A6-@# @- A A"@B)A A6-@# A}@- A A"@Bh)` A,@)/@56-@ ? @I A1S A `(A}B)"@B*: @6-@# @- A :(B*(B*"@BA}*: A 6-@# @- A :(B +"@B\+A A6-@# @- A A}A"@B +: A6-@# @- A :(B$,: A6-@# @- A A}:(B L,"@B.g A,@)/@56-@? @I A1S A g"A}@BD/A A6-@# @- A A"@B  Nl A#,@@5/@A}@A6-@K @U A1_ A l(BN: A 6-@# @- A :(BN:A} A6-@# @- A :(B0u[[255,255,255,255,255,255,255,255,126,195,231,153,153,255,165,255,0A},0,167,165,253,5,7,05u0,0,24,60,153,219,255,255:uRECOMPENSEDuSCHEDULENuGRATUITOUSXuPORRIDGEub-+@ A}&B:,,'@+(@9-A= AM,@_/@@b$\v"@BBav@EAA}'Pfva ,68,-68,-'6-%-6-96-@BE6-@Q6-@U[,a6-v(T:,BPv A} A'P$w,-&@68,-%68,-) ,$ {8-&@6-@:7,,86-+@ &B:,,'%&{1@A}{/'")%")%A(")%A`"/6-%{-@(@>:, {   6-*{ "68,-4{I "6-A}%0@52@@I @B@>{9 "6-2'0@/6-%9 B }> 68,A}--@002@P@4 >2 }T:,B }#"@ B!# A P} @Rd}"A},@/@"$}i +@-@5(@G-@ @W(@i-@A}@} (@ STEVE GROLL $,~@ 2+-4(TYPE E FOR AN EASY GAME.@-@@~M(TYPE H FOR A HA}ARD GAME."(&)(14H76-C6-@0M B#0E~6-@6-@pJ~F7(.WOULD YOU LIKE TO ENTER NEW WORDS IA}N THE GAME;C4NF$O~BBPT~E(E(:TYPE ONE WORD AFTER DATA AND PRESS RETURN ON EACH LINE.^~/(,A}(!TYPE CON. WHEN READY TO CONTINUE./~$ D:WORDADV.BASMMKLSMLWSMFNPLMAPNMWRDVLCOLOMSEC@C0100 WAITL = $CB0110 WAITH = $CC0120 RTCLOK = $120130 *= $06000140 CLD ;CLEAR DECIMAL0150 E} PLA ;DISCARD #ARGS0160 PLA ;PULL WAIT HI0170 STA WAITH ;AND SAVE IT0180 PLA E} ;PULL WAIT LO0190 STA WAITL ;AND SAVE IT0200 LDA #0 ;ZERO OUT...0210 STA RTCLOK+1 ;CLOCK BYTE}E 20220 STA RTCLOK+2 ;CLOCK BYTE 30230 WAITLP LDA RTCLOK+1 ;GET CLOCK HI0240 CMP WAITH ;= WAIT HI?0250 E} BNE WAITLP ;NO, LOOP BACK!0260 WAITL2 LDA RTCLOK+2 ;GET CLOCK LO0270 CMP WAITL ;= WAIT LO?0280 BNE WAITF}L2 ;NO, LOOP BACK!0290 RTS ;WAIT'S OVER!;GET CLOCK LO0270 CMP WAITL ;= WAIT LO?0280 BNE WAITD8  5NaTIMEWAI 1-A6Ab"!% 16-A66 @ J}((ENTER JIFFIES TO WAIT,6 B( WAITING...(6-?:<,2( TIME'S UP!(< @ dcc216,104,J}104,133,204,104,133,203,169,0,133,19,133,20,165,19,197,204,208,250,165,20,197,203,208n 250,96 D:BOOT4.BAS6 @ Hu0100 PEEKL = $CB0110 PEEKH = $CC0120 RESLO = $D40130 RESHI = $D50140 *= $06000150 CLD N};CLEAR DECIMAL0160 PLA ;DISCARD #ARGS0170 PLA ;PULL PEEK HI0180 STA PEEKH ;AND SAVE ITN}0190 PLA ;PULL PEEK LO0200 STA PEEKL ;AND SAVE IT0210 LDY #0 ;Y REG = 00220 LDA (N}PEEKL),Y ;GET LO BYTE0230 STA RESLO ;AND SAVE IT0240 INY ;Y REG NOW = 10250 LDA (PEEKL),Y ;GEN}T HI BYTE0260 STA RESHI ;AND SAVE IT0270 RTS ;ALL DONE! ;Y REG NOW = 10250 LDA (PEEKL),Y ;GELP8$ADDRESDPEEAV@A`BhA6 1-A6AU"!% 16-A64 R }@ &(ENTER DPEEK ADDRESS*4 B6-?:<,( 2 @ dRR216,104,104,133,204,104,133,203,160,0,17R }7,203,133,212,200,177,203,133,213,96 D:BOOT7.BASBhA6 1-A6AU"!% 16-A64 P8''CCCCCCCC1CG0CG1HG0HG1SL0SL1SDSNSHS1S2SBWW2HADPLTSISSBBCIHSXSSXYHHWV }OLHGHIBXYODIIWWPDDDTTVGVGHQQYEEEFFLRUDDXYUUUDKKBBHHZZWWV}@ @ @ @ @V}@@ V}!"#$%&'()*+,-./0V}123456789:;<=>?V}@ABCDEFGHIJKLMNOV}PQRSTUVWXYZ[\]^V}_`abcdef ##*****************************##* V} *##* HIGH SEAS BY TOM HUDSON *(##* A.N.A.L.O.G. COMPUTING *2##* *<##*******V}**********************F("(0,1,2,3,4,5,9,10P%@%*** LEFT MARGIN ***Z>>9<,;A,9V}<,;A,9<,9<,9<,d33;@P,;,;,;,;,;,;,;,n:9<,9,;,68,-(68,V}-168,-:68,-x< --68<,-)68<,-468<,-8 < G --68<,-)68<,-- V}868<,-C68<,-G 1 6. 67A,. +67@,.16.W<6.2DESTROYER SUBMARINE CRUISER BATTLESHIPV}A-CARRIER KH:, ?PW6-?P1 (}1(# =6-A-@#-=(V}>:, ++++++++++5-@!)(>:, ++++++++++16-%5 G-@"(Ҡ4-@!@V}G(Ҡ A! > A!0*(I'M SETTING UP MY FLEET.4 A"p> A! ; A!01(IT'S TIME TV}O SET UP YOUR SHIPS.; A!`c 6-6-6- A +6-@16-76-A A M6-@!S6-Y6-c AV} G6-@16-6-% A 16-@A76-=6-G A X A! (%H:, ?P:(I WILL GV}O FIRST.D A!`N A! X A0)( YOU GO FIRST! A!`) A! *** HUMAN'S TURN ***: A! %(ENV }TER YOUR SHOT - ):B:,A"- 6. A%- )!) )!A,P6-%$%7<,0 & A!@<(V!}OOPS - TRY AGAIN!F A!`P Ap667<,.2@L8<,!6.*2688<,<,-88<,<,%B6-88<,<,L AV"}PJ? 6.  A A!@5(YOUR SHOT MISSES!? A!`T67<,.1 A0^d A A!@)( IT'V#}S A HIT!!!3 A!`d8<,ApAAA0APh&r "6- Ap| A0 "6V$}- Ap A0 "6- Ap A0 "6- Ap A0 A0 6V%}